Dynamic Convolution: Attention over Convolution Kernels |
您所在的位置:网站首页 › pytorch 动态卷积 › Dynamic Convolution: Attention over Convolution Kernels |
目录
MotivationDynamic Convolution基本思路额外计算量DY难点
Experiment
论文链接:
https://arxiv.org/abs/1912.03458 CVPR 2020 (Oral)
Motivation
现象:轻量级卷积神经网络(light-weight convolutional neural network)因其较低的计算预算而限制了 CNN 的深度(卷积层数)和宽度(通道数),不仅导致模型性能下降,表示能力也会受到限制。 思路:要想不增加网络深度或宽度的情况下增加模型的表达能力(representation capacity),一个很容易想到的思路就是对基本运算单元卷积核(Convolution Kernels)做改进工作,提高它特征提取的能力。 问题:当前的卷积核进行特征提取有什么问题呢?当前的静态卷积用同一个卷积核对所有的输入图片做相同的操作,图片类型各种各样,同一个卷积核显然很难满足所有图片特征提取的要求。思考:大量图片的训练,可以得出更高级的一般规律,通过多层的组合调节得到适用于每一个图片的提取特征的模式,但因为网络的加深图片分辨率减少等问题,很多细节特征被大量损失。 Dynamic Convolution 基本思路动态卷积(Dynamic Convolution)的基本思路就是根据输入图像,自适应地调整卷积参数。如图1所示,静态卷积用同一个卷积核对所有的输入图像做相同的操作,而动态卷积会对不同的图像(如汽车、马、花)做出调整,用更适合的卷积参数进行处理。简单地来说,卷积核是输入的函数。 动态卷积网络引入了两部分的额外计算:注意力模型和卷积核的叠加。注意力模型计算复杂度很低,由 avg pool 和两层全卷积组成。得益于小的内核尺寸,叠加多个卷积核在计算上也非常高效。因此,动态卷积引入的额外计算是非常少的。少量的额外计算与显著的表达能力的提升使得动态卷积非常适合轻量级的神经网络。 DY难点动态卷积网络的难点在于多个卷积核和注意力模型的共同学习。这个困难会随着网络深度的增加而增加。 本文提出,解决这个问题有两个关键点。首先,限制注意力的取值将简化注意力模型的学习。注意力取值的限制将缩小多个卷积的叠加核的取值空间。文中将注意力取值限制在0与1之间,同时所有注意力的和为1。如图3所示,如果使用3个卷积核,注意力在0与1之间把叠加核限制在两个三棱锥中,注意力的和为1把叠加核进一步限制在以这三个卷积核为顶点的三角形中。对于这两个限制,softmax 是一个很自然的选择。其次,限制注意力接近均匀分布有利于多个卷积核在训练初期 同时 学习。对于这个要求,softmax 就显得不那么合适了,因为 softmax 输出更稀疏的注意力。因此,温度(temperature)被引入到 softmax。接近均匀分布的注意力可以通过使用较大的温度来实现。文章也提到温度淬火(temperature annealing)有助于准确度的进一步提升。![]() 实验结果显示,动态卷积在 ImageNet 分类和 COCO 关键点检测两个视觉任务上均具有显著的提升。例如,通过在 SOTA 架构 Mobilenet 上简单地使用动态卷积,ImageNet 分类的 top-1 准确度提高了 2.3%,而 FLOP 仅增加了 4%,在 COCO 关键点检测上实现了 2.9 的 AP 增益。在关键点检测上,动态卷积在 backbone 和 head 上同样有效。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |